using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Didsoft.DataAccess.Contracts;
using SIOGDE.AccesoDatos.Entidades;
using Didsoft.Core.Data;
using SIOGDE.AccesoDatos.Entidades.Reportes;

namespace SIOGDE.AccesoDatos.Contratos
{
   public interface IPersonaAccesoDatos : IDataAccessBase<Persona>
   {
         IList<Persona> BuscarPorFiltro(string filtro);

         Persona GetByGuid(string guid);
         DataPager<Persona> PaginarPorFiltro(string filtro, int filas, int numPagina);
         
         IList<Persona> BuscarPorFiltro(string nombres, string apellidoPaterno, string apellidoMaterno);

         IList<Persona> GetAntiguosNoDestinados(int numAntiguedad, int gestionId, DateTime FechaEgreso, int personaArmaId);
         IList<Persona> GetAntiguosNoDestinados(int numAntiguedad, int gestionId, DateTime FechaEgreso, int armaId, int rolId);

         //reporte
         IList<DTORolUsuario> GetRolUsuarios(List<int> rolIds);
   }
}

